import ACCESS_ENUM from "@/access/accessEnum";

/**
 * 权限检查--当前登录用户是否具有某个权限
 * @param loginUser 当前登录用户
 * @param permission 要有的权限
 * @returns boolean 有无权限
 *
 */
const checkAccess = (
  loginUser: API.LoginUserVO,
  permission = ACCESS_ENUM.NOT_LOGIN,
) => {
  //获取当前用户具有的登录权限
  const loginUserPermission = loginUser?.userRole ?? ACCESS_ENUM.NOT_LOGIN;
  //不需要任何权限
  if (permission == ACCESS_ENUM.NOT_LOGIN) {
    return true;
  }
  //需要用户登录才能访问
  if (permission == ACCESS_ENUM.USER) {
    //用户没有登陆，则无权限
    if (loginUserPermission == ACCESS_ENUM.NOT_LOGIN) {
      return false;
    }
  }
  //需要管理员权限才能访问
  if (permission == ACCESS_ENUM.ADMIN) {
    //不为管理员，则无权限
    if (loginUserPermission !== ACCESS_ENUM.ADMIN) {
      return false;
    }
  }
  return true;
};
export default checkAccess;
